package fr.afcepf.atod21.formation.entity;

import java.util.Date;

/**
 * Classe correspondant au stagiaire.
 */
public class Stagiaire {

    /**
     * Identifiant du stagiaire.
     */
    private int id;

    /**
     * Nom du stagiaire.
     */
    private String nom;

    /**
     * prénom du stagiaire.
     */
    private String prenom;

    /**
     * Date de naissance du stagiaire.
     */
    private Date dateNaissance;

    /**
     * Organisme du stagiaire.
     */
    private Organisme organisme;

    /**
     * Adresse du stagiaire.
     */
    private String adresse;

    /**
     * Constructeur vide.
     */
    public Stagiaire() {
    }

    /**
     * Constructeur avec tous les paramètres.
     *
     * @param pId            {@link Stagiaire#id}
     * @param pNom           {@link Stagiaire#nom}
     * @param pPrenom        {@link Stagiaire#prenom}
     * @param pDateNaissance {@link Stagiaire#dateNaissance}
     * @param pOrganisme     {@link Stagiaire#organisme}
     * @param pAdresse       {@link Stagiaire#adresse}
     */
    public Stagiaire(int pId, String pNom, String pPrenom,
                     Date pDateNaissance, Organisme pOrganisme,
                     String pAdresse) {
        this.id = pId;
        this.nom = pNom;
        this.prenom = pPrenom;
        this.dateNaissance = pDateNaissance;
        this.organisme = pOrganisme;
        this.adresse = pAdresse;
    }

    /**
     * Getter of {@link Stagiaire#id}.
     *
     * @return {@link Stagiaire#id}
     */
    public int getId() {
        return id;
    }

    /**
     * Setter of {@link Stagiaire#id}.
     *
     * @param pId {@link Stagiaire#id}
     */
    public void setId(int pId) {
        this.id = pId;
    }

    /**
     * Getter of {@link Stagiaire#nom}.
     *
     * @return {@link Stagiaire#nom}
     */
    public String getNom() {
        return nom;
    }

    /**
     * Setter of {@link Stagiaire#nom}.
     *
     * @param pNom {@link Stagiaire#nom}
     */
    public void setNom(String pNom) {
        this.nom = pNom;
    }

    /**
     * Getter of {@link Stagiaire#prenom}.
     *
     * @return {@link Stagiaire#prenom}
     */
    public String getPrenom() {
        return prenom;
    }

    /**
     * Setter of {@link Stagiaire#prenom}.
     *
     * @param pPrenom {@link Stagiaire#prenom}
     */
    public void setPrenom(String pPrenom) {
        prenom = pPrenom;
    }

    /**
     * Getter of {@link Stagiaire#dateNaissance}.
     *
     * @return {@link Stagiaire#dateNaissance}
     */
    public Date getDateNaissance() {
        return dateNaissance;
    }

    /**
     * Setter of {@link Stagiaire#dateNaissance}.
     *
     * @param pDateNaissance {@link Stagiaire#dateNaissance}
     */
    public void setDateNaissance(Date pDateNaissance) {
        dateNaissance = pDateNaissance;
    }

    /**
     * Getter of {@link Stagiaire#organisme}.
     *
     * @return {@link Stagiaire#organisme}
     */
    public Organisme getOrganisme() {
        return organisme;
    }

    /**
     * Setter of {@link Stagiaire#organisme}.
     *
     * @param pOrganisme {@link Stagiaire#organisme}
     */
    public void setOrganisme(Organisme pOrganisme) {
        organisme = pOrganisme;
    }

    /**
     * Getter of {@link Stagiaire#adresse}.
     *
     * @return {@link Stagiaire#adresse}
     */
    public String getAdresse() {
        return adresse;
    }

    /**
     * Setter of {@link Stagiaire#adresse}.
     *
     * @param pAdresse {@link Stagiaire#adresse}
     */
    public void setAdresse(String pAdresse) {
        adresse = pAdresse;
    }
}
